home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2004 August / The Sunday Times - The Month 2004-08.iso / pc / engine / modules / pa_search.swf / scripts / DefineSprite_40 / frame_1 / DoAction.as
Encoding:
Text File  |  2004-07-07  |  2.3 KB  |  98 lines

  1. refresh = function()
  2. {
  3.    mScrollTrack._height = SCROLLHEIGHT - 22;
  4.    mArrow_down._y = SCROLLHEIGHT - 11;
  5.    targetHeight = target._height - 2;
  6.    maxTargetPos = target._y;
  7.    minTargetPos = maxTargetPos - targetHeight + SCROLLHEIGHT;
  8.    targetRange = Math.abs(maxTargetPos - minTargetPos);
  9.    if(targetHeight < SCROLLHEIGHT || _parent.options.length <= 4)
  10.    {
  11.       _visible = 0;
  12.    }
  13.    scrolling = dragging = 0;
  14.    var _loc1_ = SCROLLHEIGHT / targetHeight;
  15.    if(_loc1_ < 1)
  16.    {
  17.       mScroller._height = _loc1_ * mScrollTrack._height;
  18.       mScroller._visible = 1;
  19.    }
  20.    else
  21.    {
  22.       mScroller._visible = 0;
  23.    }
  24.    minScrollerPos = mScrollTrack._y;
  25.    maxScrollerPos = minScrollerPos + mScrollTrack._height - mScroller._height;
  26.    scrollerRange = Math.abs(mScrollTrack._height - mScroller._height);
  27.    SCROLLSPEED = 5;
  28.    scrollerColor = new Color(mScroller);
  29.    updateScroller();
  30. };
  31. mArrow_up.onPress = function()
  32. {
  33.    onEnterFrame = scrollUp;
  34. };
  35. mArrow_down.onPress = function()
  36. {
  37.    onEnterFrame = scrollDown;
  38. };
  39. mScroller.onPress = function()
  40. {
  41.    var _loc1_ = this;
  42.    _loc1_.startDrag(0,_loc1_._x,minScrollerPos,_loc1_._x,maxScrollerPos);
  43.    _loc1_.onMouseMove = _loc1_._parent.drag;
  44. };
  45. mScroller.onRollOver = function()
  46. {
  47.    scrollerColor.setRGB(8287827);
  48. };
  49. mScroller.onRollOut = function()
  50. {
  51.    scrollerColor.setRGB(12170390);
  52. };
  53. this.onMouseUp = function()
  54. {
  55.    onEnterFrame = null;
  56.    onMouseMove = null;
  57.    mScroller.stopDrag();
  58.    updateScroller();
  59.    scrollerColor.setRGB(12170390);
  60. };
  61. scrollUp = function()
  62. {
  63.    if(target._y < maxTargetPos)
  64.    {
  65.       target._y += SCROLLSPEED;
  66.    }
  67.    if(target._y > maxTargetPos)
  68.    {
  69.       target._y = maxTargetPos;
  70.    }
  71.    updateScroller();
  72. };
  73. scrollDown = function()
  74. {
  75.    if(target._y > minTargetPos)
  76.    {
  77.       target._y -= SCROLLSPEED;
  78.    }
  79.    if(target._y < minTargetPos)
  80.    {
  81.       target._y = minTargetPos;
  82.    }
  83.    updateScroller();
  84. };
  85. drag = function()
  86. {
  87.    var _loc1_ = mScroller._y - minScrollerPos;
  88.    var _loc2_ = _loc1_ / scrollerRange;
  89.    target._y = maxTargetPos - _loc2_ * targetRange;
  90. };
  91. updateScroller = function()
  92. {
  93.    var _loc1_ = maxTargetPos - target._y;
  94.    var _loc2_ = _loc1_ / targetRange;
  95.    mScroller._y = minScrollerPos + _loc2_ * scrollerRange;
  96. };
  97. refresh();
  98.